"Steven E. Harris" <s...@panix.com> writes:

> My next step will be to instrument the Swank side to see when
> `connection-info' is being called.

I found the problem: swank.util.sys/get-pid.

It looks like the JMX call to get the PID hangs. If I visit the
*inferior-lisp* buffer's REPL and evaluate the following form, the REPL
finishes connecting immediately:

,----[ Fragment of `get-pid' function ]
| (.. java.lang.management.ManagementFactory
|     (getRuntimeMXBean) (getName) (split "@"))
`----

Apparently forcing more than one call through that path kicks it out of
some wait, and the thread blocked on the Swank-side function
`swank.commands.basic/connection-info' finally finishes its call to
get-pid.

Note that calling

  java.lang.management.ManagementFactory#getRuntimeMXBean()

is not sufficient to unblock the thread in `connection-info'. It takes
the following call to

  RuntimeMXBean#getName()

to unblock the wait.

Is there a separate mailing list to which I should report this problem?

-- 
Steven E. Harris

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to