From 62ba0b73b0ea523ef0c7aa86c0dfabf38cebedd9 Mon Sep 17 00:00:00 2001 From: mar Date: Fri, 1 Sep 1989 13:12:43 +0000 Subject: [PATCH] catch deadlock errors --- reg_svr/reg_svr.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/reg_svr/reg_svr.c b/reg_svr/reg_svr.c index ebc45d5f..b7bd0029 100644 --- a/reg_svr/reg_svr.c +++ b/reg_svr/reg_svr.c @@ -561,6 +561,9 @@ int reserve_user(message,retval) case SMS_IN_USE: status = UREG_LOGIN_USED; break; + case SMS_DEADLOCK: + status = UREG_MISC_ERROR; + break; default: critical_alert(FAIL_INST,"%s returned from register_user.", error_message(status)); @@ -610,10 +613,13 @@ struct msg *message; q_argv[0] = login; q_argv[1] = state; if ((status = sms_query(q_name, q_argc, q_argv, null_callproc, - (char *)0)) != SMS_SUCCESS) - critical_alert(FAIL_INST,"%s returned from update_user_status.", - error_message(status)); - + (char *)0)) != SMS_SUCCESS) { + if (status == SMS_DEADLOCK) + status = UREG_MISC_ERROR; + else + critical_alert(FAIL_INST,"%s returned from update_user_status.", + error_message(status)); + } com_err(whoami,status," returned from set_final_status"); return status; } @@ -750,6 +756,9 @@ char *retval; case SMS_IN_USE: status = UREG_LOGIN_USED; break; + case SMS_DEADLOCK: + status = UREG_MISC_ERROR; + break; default: critical_alert(FAIL_INST,"%s returned from update_user.", error_message(status)); -- 2.45.2