Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Lorenz Bung 979ba5dd29 Added answers to S1-1 il y a 8 ans
..
ANSWERS.md Added answers to S1-1 il y a 8 ans
Makefile Init hw8 il y a 8 ans
QUESTIONS.md Init hw8 il y a 8 ans
README.md Init hw8 il y a 8 ans
main-deadlock-global.c Init hw8 il y a 8 ans
main-deadlock.c Init hw8 il y a 8 ans
main-race.c Init hw8 il y a 8 ans
main-signal-cv.c Init hw8 il y a 8 ans
main-signal.c Init hw8 il y a 8 ans
mythreads.h Init hw8 il y a 8 ans

README.md

README Synchronisation: Real POSIX API

In this homework, you’ll use a real tool on Linux to find problems in multi-threaded code. The tool is called helgrind (available as part of the valgrind suite of debugging tools).

See http://valgrind.org/docs/manual/hg-manual.html for details about the tool, including how to download and install it (if it’s not already on your Linux system).

You’ll then look at a number of multi-threaded C programs to see how you can use the tool to debug problematic threaded code.

Then, type make to build all the different programs. Examine the Makefile for more details on how that works.

Then, you have a few different C programs to look at:

  • main-race.c: A simple race condition

  • main-deadlock.c: A simple deadlock

  • main-deadlock-global.c: A solution to the deadlock problem

  • main-signal.c: A simple child/parent signaling example

  • main-signal-cv.c: A more efficient signaling via condition variables

  • mythreads.h: Header file with wrappers to make code check errors and be more readable

With these programs, you can now answer the questions in the textbook.