~vojtech-horky/helenos/helenos-qemu

« back to all changes in this revision

Viewing changes to uspace/lib/c/generic/fibril_synch.c

  • Committer: Jan Mares
  • Date: 2015-07-06 16:38:44 UTC
  • mfrom: (2103.1.249 HelenOS.mainline)
  • Revision ID: maresja1@gmail.com-20150706163844-big3j1vjinzit8j3
MergeĀ fromĀ mainline.

Show diffs side-by-side

added added

removed removed

Lines of Context:
86
86
        while (oi && oi->owned_by) {
87
87
                if (oi->owned_by == (fibril_t *) fibril_get_id()) {
88
88
                        print_deadlock(oi);
89
 
//                      abort();
90
 
                        break;
 
89
                        abort();
91
90
                }
92
91
                oi = oi->owned_by->waits_for;
93
92
        }
114
113
{
115
114
        fibril_t *f = (fibril_t *) fibril_get_id();
116
115
 
117
 
        if (fibril_get_sercount() != 0) {
118
 
                abort();
119
 
        }
120
 
 
121
116
        futex_down(&async_futex);
122
117
 
123
118
        if (fm->flags & FIBRIL_MUTEX_RECURSIVE && fm->oi.owned_by == f) {
222
217
{
223
218
        fibril_t *f = (fibril_t *) fibril_get_id();
224
219
        
225
 
        if (fibril_get_sercount() != 0)
226
 
                abort();
227
 
 
228
220
        futex_down(&async_futex);
229
221
        if (frw->writers) {
230
222
                awaiter_t wdata;
249
241
{
250
242
        fibril_t *f = (fibril_t *) fibril_get_id();
251
243
        
252
 
        if (fibril_get_sercount() != 0)
253
 
                abort();
254
 
 
255
244
        futex_down(&async_futex);
256
245
        if (frw->writers || frw->readers) {
257
246
                awaiter_t wdata;