trawick 01/11/13 11:46:41
Modified: . CHANGES
include/arch/unix networkio.h
network_io/unix poll.c
Log:
Fix the Unix HAVE_POLL flavor of apr_poll_socket_mask() so that
it doesn't segfault. Avoid some wasted storage in a poll-related
APR structure.
Submitted by: INOUE Seiichiro <[EMAIL PROTECTED]>
Reviewed by: Jeff Trawick
Revision Changes Path
1.182 +7 -3 apr/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apr/CHANGES,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -r1.181 -r1.182
--- CHANGES 2001/11/12 19:47:31 1.181
+++ CHANGES 2001/11/13 19:46:41 1.182
@@ -1,5 +1,9 @@
Changes with APR b1
+ *) Fix the Unix HAVE_POLL flavor of apr_poll_socket_mask() so that
+ it doesn't segfault. Avoid some wasted storage in a poll-related
+ APR structure. [INOUE Seiichiro <[EMAIL PROTECTED]>]
+
*) Fix apr_setup_signal_thread() so that threads don't block
synchronous signals (e.g., SIGSEGV). It is a programming error
to do so, and some platforms (e.g., Solaris, AIX) don't call any
@@ -8,7 +12,7 @@
*) Change the apr_table_elts macro so that it provides access via
a const pointer instead of a non-const pointer.
- [Brian Pane <[EMAIL PROTECTED]
+ [Brian Pane <[EMAIL PROTECTED]>]
*) Use strerror_r() where available, since strerror() isn't always
thread-safe. Example systems where strerror() isn't thread-safe:
@@ -20,11 +24,11 @@
*) New functions apr_hash_[merge|copy], change to overlay fn
so that it calls merge, which does a inline iteration instead
- of calling the iterator function. [Brian Pane <[EMAIL PROTECTED]
+ of calling the iterator function. [Brian Pane <[EMAIL PROTECTED]>]
*) Introduce the apr_pool_userdata_setn() variant that doesn't
strdup the key. Allows both the _setn() and _set() variant to
- accept NULL for the cleanup. [Brian Pane <[EMAIL PROTECTED]
+ accept NULL for the cleanup. [Brian Pane <[EMAIL PROTECTED]>]
*) Re-vamp the apr_proc_wait and apr_proc_wait_all functions. We
now return the exit code from the program and a reason that the
1.49 +1 -2 apr/include/arch/unix/networkio.h
Index: networkio.h
===================================================================
RCS file: /home/cvs/apr/include/arch/unix/networkio.h,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- networkio.h 2001/07/16 20:36:59 1.48
+++ networkio.h 2001/11/13 19:46:41 1.49
@@ -152,10 +152,9 @@
fd_set *read_set;
fd_set *write_set;
fd_set *except_set;
-#endif
apr_int16_t *events;
apr_int16_t *revents;
-
+#endif
};
const char *apr_inet_ntop(int af, const void *src, char *dst, apr_size_t
size);
1.50 +2 -2 apr/network_io/unix/poll.c
Index: poll.c
===================================================================
RCS file: /home/cvs/apr/network_io/unix/poll.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- poll.c 2001/10/02 18:51:17 1.49
+++ poll.c 2001/11/13 19:46:41 1.50
@@ -180,8 +180,8 @@
return APR_NOTFOUND;
}
newevents = get_event(events);
- if (aprset->events[i] & newevents) {
- aprset->events[i] ^= newevents;
+ if (aprset->pollset[i].events & newevents) {
+ aprset->pollset[i].events ^= newevents;
}
return APR_SUCCESS;