Improved error handling and timeouts.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2909 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
beveloper 2003-03-14 14:06:23 +00:00
parent 57c59a5377
commit 742580b40f
1 changed files with 5 additions and 5 deletions

View File

@ -11,7 +11,7 @@
#include "DataExchange.h" #include "DataExchange.h"
#include "ServerInterface.h" // NEW_MEDIA_SERVER_SIGNATURE #include "ServerInterface.h" // NEW_MEDIA_SERVER_SIGNATURE
#define TIMEOUT 2000000 #define TIMEOUT 5000000 // 5 seconds timeout!
namespace BPrivate { namespace BPrivate {
namespace media { namespace media {
@ -118,10 +118,10 @@ status_t SendToPort(port_id sendport, int32 msgcode, command_data *msg, int size
rv = write_port_etc(sendport, msgcode, msg, size, B_RELATIVE_TIMEOUT, TIMEOUT); rv = write_port_etc(sendport, msgcode, msg, size, B_RELATIVE_TIMEOUT, TIMEOUT);
if (rv != B_OK) { if (rv != B_OK) {
FATAL("SendToPort: write_port failed, port %ld, error %#lx (%s)\n", sendport, rv, strerror(rv)); FATAL("SendToPort: write_port failed, port %ld, error %#lx (%s)\n", sendport, rv, strerror(rv));
if (sendport == MediaServerPort) { if (rv == B_BAD_PORT_ID && sendport == MediaServerPort) {
find_media_server_port(); find_media_server_port();
sendport = MediaServerPort; sendport = MediaServerPort;
} else if (sendport == MediaAddonServerPort) { } else if (rv == B_BAD_PORT_ID && sendport == MediaAddonServerPort) {
find_media_addon_server_port(); find_media_addon_server_port();
sendport = MediaAddonServerPort; sendport = MediaAddonServerPort;
} else { } else {
@ -148,10 +148,10 @@ status_t QueryPort(port_id requestport, int32 msgcode, request_data *request, in
if (rv != B_OK) { if (rv != B_OK) {
FATAL("QueryPort: write_port failed, port %ld, error %#lx (%s)\n", requestport, rv, strerror(rv)); FATAL("QueryPort: write_port failed, port %ld, error %#lx (%s)\n", requestport, rv, strerror(rv));
if (requestport == MediaServerPort) { if (rv == B_BAD_PORT_ID && requestport == MediaServerPort) {
find_media_server_port(); find_media_server_port();
requestport = MediaServerPort; requestport = MediaServerPort;
} else if (requestport == MediaAddonServerPort) { } else if (rv == B_BAD_PORT_ID && requestport == MediaAddonServerPort) {
find_media_addon_server_port(); find_media_addon_server_port();
requestport = MediaAddonServerPort; requestport = MediaAddonServerPort;
} else { } else {