~rdoering/ubuntu/karmic/erlang/fix-535090

« back to all changes in this revision

Viewing changes to erts/emulator/sys/win32/erl_poll.c

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-02-15 16:42:52 UTC
  • mfrom: (3.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090215164252-q5x4rcf8a5pbesb1
Tags: 1:12.b.5-dfsg-2
Upload to unstable after lenny is released.

Show diffs side-by-side

added added

removed removed

Lines of Context:
643
643
    }
644
644
}
645
645
                    
646
 
                    
647
 
                
648
 
        
649
 
        
650
646
static void *threaded_waiter(void *param)
651
647
{
652
648
    register Waiter* w = (Waiter *) param;
1077
1073
                   HARDDEBUGF(("Oups!"));
1078
1074
                   /* Oups, got signalled before we took the lock, can't reset */
1079
1075
                   if(erts_atomic_read(&ps->sys_io_ready) == 0) {
1080
 
                       erl_exit(1,"Inconsistent, why isnt io reported?");
 
1076
                       erl_exit(1,"Internal error: "
 
1077
                                "Inconsistent io structures in erl_poll.\n");
1081
1078
                   }
1082
1079
                   START_WAITER(ps,w);
1083
1080
                   erts_mtx_unlock(&w->mtx);
1177
1174
            if (num >= no_fds) {
1178
1175
                w->highwater=j+1;
1179
1176
                erts_mtx_unlock(&w->mtx);
 
1177
                /* This might mean we still have data to report, set
 
1178
                   back the global flag! */
 
1179
                erts_atomic_set(&ps->sys_io_ready,1);
1180
1180
                HARDDEBUGF(("To many FD's to report!"));
1181
1181
                goto done;
1182
1182
            }