ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev_select.c
(Generate patch)

Comparing libev/ev_select.c (file contents):
Revision 1.52 by root, Wed Feb 16 08:02:50 2011 UTC vs.
Revision 1.54 by root, Fri Jun 3 00:04:52 2011 UTC

1/* 1/*
2 * libev select fd activity backend 2 * libev select fd activity backend
3 * 3 *
4 * Copyright (c) 2007,2008,2009,2010 Marc Alexander Lehmann <libev@schmorp.de> 4 * Copyright (c) 2007,2008,2009,2010,2011 Marc Alexander Lehmann <libev@schmorp.de>
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without modifica- 7 * Redistribution and use in source and binary forms, with or without modifica-
8 * tion, are permitted provided that the following conditions are met: 8 * tion, are permitted provided that the following conditions are met:
9 * 9 *
193 * we also get EINVAL when the timeout is invalid, but we ignore this case here 193 * we also get EINVAL when the timeout is invalid, but we ignore this case here
194 * and assume that EINVAL always means: you have to wait manually. 194 * and assume that EINVAL always means: you have to wait manually.
195 */ 195 */
196 if (errno == EINVAL) 196 if (errno == EINVAL)
197 { 197 {
198 ev_sleep (timeout); 198 if (timeout)
199 {
200 unsigned long ms = timeout * 1e3;
201 Sleep (ms ? ms : 1);
202 }
203
199 return; 204 return;
200 } 205 }
201 #endif 206 #endif
202 207
203 if (errno == EBADF) 208 if (errno == EBADF)
267} 272}
268 273
269int inline_size 274int inline_size
270select_init (EV_P_ int flags) 275select_init (EV_P_ int flags)
271{ 276{
272 backend_fudge = 0.; /* posix says this is zero */ 277 backend_fudge = 1e-6;
273 backend_modify = select_modify; 278 backend_modify = select_modify;
274 backend_poll = select_poll; 279 backend_poll = select_poll;
275 280
276#if EV_SELECT_USE_FD_SET 281#if EV_SELECT_USE_FD_SET
277 vec_ri = ev_malloc (sizeof (fd_set)); FD_ZERO ((fd_set *)vec_ri); 282 vec_ri = ev_malloc (sizeof (fd_set)); FD_ZERO ((fd_set *)vec_ri);
305 #ifdef _WIN32 310 #ifdef _WIN32
306 ev_free (vec_eo); 311 ev_free (vec_eo);
307 #endif 312 #endif
308} 313}
309 314
310

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines