[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[pdt-dev] Question about debug.daemon plugin.

I noticed a problem where the debug socket listeners were not being started in some cases when PDT was first started. It turns out that if you don't have a PHP file open or the PHP Debug perspective being listed as an opened perspective (not necessarily the active perspective) then the socket listeners are not started.

Looking at the code I see that the debug.daemon (which contains the code to start the socket listeners) plugin registers an earlyStartup, but the starting of that plugin (earlyStartup() or start() ) actually doesn't do anything, so the earlyStartup is redundent. The code to start the listeners is actually found in the debug.core plugin in its start() method, which means that unless this plugin gets loaded the socket listeners won't start until it does get loaded and this can and does get delay loaded.

The obvious answer to this would be that as the debug.daemon has an earlyStartup registered, that this should start the socket listeners, not the debug.core plugin and I would like to make this change. Does anyone know why the code did it this way or is there any good reason why it shouldn't be changed ? (An alternative would be to have the debug.core plugin register an earlyStartup and remove the one from the debug.daemon plugin).

I would like to get this change into PDT 2.0.1 as well.

Dave Kelsey

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU