X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=doc%2Flinux-poll.patch;fp=doc%2Flinux-poll.patch;h=bdbba0b965c95e4dcec4aa871cb320797eabab08;hp=0000000000000000000000000000000000000000;hb=0400a5a6479398d82526785c18c0df8bc8b92dce;hpb=d17e10da972ce5776c60b4c317267c6abe0e1ead diff --git a/doc/linux-poll.patch b/doc/linux-poll.patch new file mode 100644 index 0000000..bdbba0b --- /dev/null +++ b/doc/linux-poll.patch @@ -0,0 +1,52 @@ +*** ./select.c.bak Sun Apr 30 13:00:38 2000 +--- /usr/src/linux/fs/select.c Mon May 1 18:00:15 2000 +*************** +*** 11,16 **** +--- 11,17 ---- + */ + + #include ++ #include + #include + #include + #include +*************** +*** 416,422 **** + } + + size = nfds * sizeof(struct pollfd); +! fds = (struct pollfd *) kmalloc(size, GFP_KERNEL); + if (!fds) + goto out; + +--- 417,426 ---- + } + + size = nfds * sizeof(struct pollfd); +! if (size > PAGE_SIZE) +! fds = (struct pollfd *) vmalloc(size); +! else +! fds = (struct pollfd *) kmalloc(size, GFP_KERNEL); + if (!fds) + goto out; + +*************** +*** 437,443 **** + err = -EINTR; + + out_fds: +! kfree(fds); + out: + if (wait) + free_wait(wait_table); +--- 441,450 ---- + err = -EINTR; + + out_fds: +! if (size > PAGE_SIZE) +! vfree(fds); +! else +! kfree(fds); + out: + if (wait) + free_wait(wait_table);