Solved

Banker's Algorithm

Posted on 2010-11-14
2
2,205 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
2 Comments
 
LVL 35

Accepted Solution

by:
mccarl earned 250 total points
Comment Utility
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
Comment Utility
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

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
A short article about a problem I had getting the GPS LocationListener working.
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

744 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

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now