fix: remove error calls from threads

This commit is contained in:
ngn 2024-08-16 01:04:57 +03:00
parent 6dc139ca8c
commit 7564835b7d
4 changed files with 11 additions and 7 deletions

View File

@ -153,6 +153,7 @@ typedef enum lm_error {
LM_ERR_PoolInfoBadName = 151, LM_ERR_PoolInfoBadName = 151,
LM_ERR_PoolInfoUnknown = 152, LM_ERR_PoolInfoUnknown = 152,
LM_ERR_MPTPBadPath = 153, LM_ERR_MPTPBadPath = 153,
LM_ERR_UnknownThread = 154,
} lm_error_t; } lm_error_t;
typedef struct lm_error_desc { typedef struct lm_error_desc {

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-16 00:21+0300\n" "POT-Creation-Date: 2024-08-16 01:04+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -29,15 +29,14 @@ void __lm_ctx_serve_thread(void *_arg) {
lm_mptp_t packet; lm_mptp_t packet;
lm_mptp_init(&packet); lm_mptp_init(&packet);
lm_error_clear();
if(!lm_mptp_server_recv(arg->sock, &packet)){ if(!lm_mptp_server_recv(arg->sock, &packet)){
pdebug(__func__, "%x: failed to receive packet (%s)", arg->addr, lm_strerror()); pdebug(__func__, "%x: failed to receive packet", arg->addr);
return lm_mptp_close(arg->sock); return lm_mptp_close(arg->sock);
} }
if (!lm_mptp_server_verify(&packet)) { if (!lm_mptp_server_verify(&packet)) {
pdebug(__func__, "%x: closing connection, failed to verify (%s)", arg->addr, lm_strerror()); pdebug(__func__, "%x: closing connection, failed to verify", arg->addr);
return lm_mptp_close(arg->sock); return lm_mptp_close(arg->sock);
} }
@ -45,12 +44,12 @@ void __lm_ctx_serve_thread(void *_arg) {
char path[packet.header.path_size + 1], *ppath = path; char path[packet.header.path_size + 1], *ppath = path;
if (!lm_mptp_get_host(&packet, hostname)) { if (!lm_mptp_get_host(&packet, hostname)) {
pdebug(__func__, "%x: closing connection, failed to get hostname (%s)", arg->addr, lm_strerror()); pdebug(__func__, "%x: closing connection, failed to get hostname", arg->addr);
goto end; goto end;
} }
if (!lm_mptp_get_path(&packet, path)) { if (!lm_mptp_get_path(&packet, path)) {
pdebug(__func__, "%x: closing connection, failed to get path (%s)", arg->addr, lm_strerror()); pdebug(__func__, "%x: closing connection, failed to get path", arg->addr);
goto end; goto end;
} }
@ -120,7 +119,7 @@ void __lm_ctx_serve_thread(void *_arg) {
if(!lm_mptp_get_path(&packet, path)){ if(!lm_mptp_get_path(&packet, path)){
// we should never be able to get here, if we do theres definetly a bug // we should never be able to get here, if we do theres definetly a bug
pdebug(__func__, "PULL %s: skipping, failed to get path (%s)", pool->name, lm_strerror()); pdebug(__func__, "PULL %s: skipping, failed to get path", pool->name);
break; break;
} }

View File

@ -215,9 +215,13 @@ void lm_error_set(lm_error_t code, ...) {
} }
char *lm_strerror() { char *lm_strerror() {
if (!pthread_equal(pthread_self(), lm_error_thread))
return NULL;
return lm_error_str; return lm_error_str;
} }
lm_error_t lm_error() { lm_error_t lm_error() {
if (!pthread_equal(pthread_self(), lm_error_thread))
return LM_ERR_UnknownThread;
return lm_error_code; return lm_error_code;
} }