https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215933
--- Comment #1 from [email protected] --- By adding a small delay to the example code the problem becomes far more consistently repeatable. int main(int argc, char *argv[]){ int fds[2]; size_t total=0; if(socketpair(AF_UNIX,SOCK_STREAM,0,fds)==0){ size_t sequence=0; int newpid=fork(); if(newpid<0) exit(EX_OSERR); if(newpid==0){ close(fds[1]); run_consumer(fds[0]); } close(fds[0]); printf("Master ready..\n"); for(size_t i=6000;i<8500;i++){ int tfd=open("/dev/null",O_WRONLY); total+=send_test_message(fds[1],sequence++,i,-1); total+=send_test_message(fds[1],sequence++,0,tfd); close(tfd); -----> usleep(100); } } printf("Master sent a total of %zd bytes\n",total); usleep(50000); exit(0); } With this change I have 100% consistent loss of data for large frame sizes of 8154 to 8192 when using a local stream socket buffer size of 8192 bytes. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "[email protected]"
