Solved

Banker's Algorithm

Posted on 2010-11-14
2
2,241 Views
1 Endorsement
Last Modified: 2012-05-10
This is an academic question (i.e. student question).  Since the original person who was helping ran into some computer problems, he/she asked me to delete the first one and repost.  Therefore, I am.  I am a student at Uinversity of New Mexico in an OS class working on my second masters.  I've been around for a while, and am not trying to cheat the system :-)

My study partner and I have worked on this and have run into a deadend (sort of).  When I compile the code it runs correctly for the first run.  The next runs have a segmentation fault.  When I recompile . . . it runs good for the first run, then has a segmentation fault for the next runs . . . on and on.  Therefore, I know we are just about there, but...we are apparently missing something (probably fairly simple).  That's the problem with we students . . . little problems can really be big, and big problems can really be little.  Therefore, I'm asking for assistance.

Apparently we have the basic concept laid out correctly, or it wouldn't run correctly the first time.  I believe the problem lies somwhere around lines 40 thru 45.  I think that the way we have the PThread being created may be causing a problem.  However, I'm not sure.  Thus, my question.  

I've attached the code.  Please take a look and let me know your thoughts.  I don't want anyone to do it for me, I just want some advice.  


Thanks much,
Darrell
rrb-bankers.c
1
Comment
Question by:dlb_sun
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 36

Accepted Solution

by:
mccarl earned 250 total points
ID: 34133000
There seem to be a couple of problems, that may result in the issue that you are seeing (I haven't tried actually running your code) or not but at least should be something that you should address.

- Line 38, you initialise the mutex a second time

- Lines 44 - 49, you create only 3 threads but you are 'joining' 9 threads (3 loops on i and j each)

0
 

Author Closing Comment

by:dlb_sun
ID: 34173144
Thanks for your advice.  Although it didn't specifically rectify all our issues, it did help in that direction.  I apologize for being so long in getting back to this.
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
A short article about problems I had with the new location API and permissions in Marshmallow
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question