On 7 Sep 2003 at 19:40, Dan Langille wrote: > On 7 Sep 2003 at 12:32, Daniel Eischen wrote: > > > On Sun, 7 Sep 2003, Dan Langille wrote: > > > > > A problem with pthreads and EOT has been identified. See PR 56274. It > > > was suggested the solution was probably just a matter of changing one of > > > the >0 tests to >=0 in uthread_write.c > > > > > > Any comments on that? > > > > I don't know that a return of 0 isn't valid for other devices. > > If this is the case, a return of 0 for blocking writes may break > > other applications. > > > > The patch isn't quite correct (at least looking at -current srcs). > > Lines 98-99 are: > > > > if (blocking && ((n < 0 && (errno == EWOULDBLOCK || > > errno == EAGAIN)) || (n >= 0 && num < nbytes))) { > > > > This will get entered first if n == 0, and I don't think your > > proposed patch would have any effect. I think you would have > > to change the "n >= 0" above to be "n > 0" in conjunction with > > your patch. > > Ahh thank you. That explains why the test results with the original > patch did not differ from -STABLE or 5.1-RELEASE. After adding your > suggestions, we have had success.
Oh I was wrong, very wrong. The test code I ran had not been compiled with pthreads. Kern found my mistake after he was unable to reproduce my [false] results. It appears the problem is not with uthread_write.c... Or at least not in the areas we are changing. Suggestions? -- Dan Langille : http://www.langille.org/ _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"