In cli_write, the line int mpx = MAX(cli->max_mux-1, 1); fails for cli->max_mux==0 due to max_mux being type size_t (unsigned) The result is mpx set to -1, and (issued - received < mpx) is always false - preventing cli_issue_write from ever being called. To fix: int mpx = (cli->max_mux > 2) ? cli->max_mux-1 : 1; I discovered this trying to get samba to work with my Intel print station, which requires the use of splopen/splclose as opposed to open/close, but doesn't seem to require splwrite. I'll submit a full patch for that shortly.
See bug 1590!
fixes in 3.0.11
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.