Skip to content

Postfix for #8752#8953

Open
Ev3nt wants to merge 1 commit intoFirebirdSQL:masterfrom
Ev3nt:postfix_8752
Open

Postfix for #8752#8953
Ev3nt wants to merge 1 commit intoFirebirdSQL:masterfrom
Ev3nt:postfix_8752

Conversation

@Ev3nt
Copy link
Contributor

@Ev3nt Ev3nt commented Mar 25, 2026

Problem

When invoking fbsvcmgr with operations requiring the USE_GFIX_UTILITY system privilege, the utility exited silently — no error was printed to stdout or stderr.

Root cause: a timing issue introduced by the started() call left insufficient time for the error response to be received and displayed before the process exited.

Before / After

Before:

$ ./fbsvcmgr localhost:service_mgr -user user1 -password user1 -action_properties -dbname employee prp_page_buffers 4096

After:

$ ./fbsvcmgr localhost:service_mgr -user user1 -password user1 -action_properties -dbname employee prp_page_buffers 4096
Unable to perform operation
-System privilege USE_GFIX_UTILITY is missing

Fix

Resolved a race condition between the started() call and the service response. Error messages are now correctly delivered and printed before the utility exits.

if (!error)
tdgbl->uSvc->started();

return error ? FINI_ERROR : FINI_OK;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to avoid double checking the condition, I'd suggest something like this (in both places):

if (error)
    return FINI_ERROR;

tdgbl->uSvc->started();
return FINI_OK;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants