Just made xcom.glb updates via the XCOM Java GUI (StandaloneUI.bat) and now the xcomd service does not restart with error code 474.
The xcom.log shows messages that it is already started i.e.XCOMN0474E The XCOMD CA XCOM Data Transport Scheduler Service is already running. Multiple instances are not supported.
Windows Task Manager shows no xcomd.exe process and command "tasklist | findstr xc" showed no output at all.
If it had showed caxcgsvr.exe (listener), xcomqm.exe or xcomtcp.exe any of those could be holding on to the xcomd.exe shared memory and semaphores (mutex).
It was thought the xcom.glb file had become corrupt but that would only get re-read if the process actually does restart. After backing up the current xcom.glb file and testing a working xcom.glb from a secondary machine the problem remained.
In the Task Manager checked for a java.exe process and could see one whose file location matched environment variable XCOM_JAVA_HOME. After ending that process in Task Manager the xcomd process started, so the Java GUI process must still have been locking the old xcomd process in some way and preventing it from shutting down properly.
After checking the backed up xcom.glb file the changes made during the GUI session had also been saved. So that version of xcom.glb was restored and the xcomd process also started successfully using it.