Should help a little to interrupt command completion reply wait...

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5268 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Philippe Houdoin 2003-11-06 20:05:43 +00:00
parent 6046623a99
commit 72a63c23a2
2 changed files with 12 additions and 7 deletions

View File

@ -42,9 +42,14 @@ R5KernelAddon net_stack_driver : kernel drivers bin :
}
# Installation
OBOSInstall install-networking : /boot/home/config/add-ons/kernel/drivers/bin
: net_server_driver net_stack_driver ;
OBOSInstallRelSymLink install-networking
: /boot/home/config/add-ons/kernel/drivers/dev/net
: <installed>net_server_driver <installed>net_stack_driver
: installed-symlink ;
OBOSInstall install-networking : /boot/home/config/add-ons/kernel/drivers/bin :
net_server_driver
net_stack_driver
;
OBOSInstallRelSymLink install-networking : /boot/home/config/add-ons/kernel/drivers/dev/net :
<installed>net_server_driver
<installed>net_stack_driver :
installed-symlink
;

View File

@ -726,7 +726,7 @@ execute_command(net_server_cookie *nsc, uint32 op, void *data, uint32 length)
while (true) {
// wait until we get the results back from our command
if ((status = acquire_sem(nsc->command_sem)) == B_OK) {
if ((status = acquire_sem_etc(nsc->command_sem, 1, B_CAN_INTERRUPT, 0)) == B_OK) {
if (command->op != 0) {
if (--max_tries <= 0) {
FATAL(("command is not freed after 200 tries!\n"));