From: Radu B. R. <ru...@cs...> - 2006-03-10 15:51:58
|
I looked over the source code of playertcp and found the following: - line 337, playertcp.c // FIXME // We can't delete the queue here, because there may be one or more // drivers that have pending requests from this client. Such a driver // will try to push the reply onto this queue, causing a segfault or // deadlock. So we'll empty the queue and just leave it hanging around, // which is a (small) memory leak. //delete this->clients[cli].queue; The Shutdown on the Hokuyo *do gets* called (via Driver::Unsubscribe in driver.cc). Now if the serial port is closed, then there's no more data coming from there, so the message queue bug is still inside player (playertcp perhaps?). I'll test more and report more, but would appreciate some feedback on this. I think the sooner we clean this mess the better for everyone. Cheers and thanks for your time, Radu. Radu Bogdan Rusu wrote: > > Same problem with Javaclient :( I'm going to check the hokuyo driver > next and see what hardware I can grab around here to test some more. > At least now I know (or I think I do) that it's not a client issue. > > Radu. > >> >> Fred Labrosse wrote: >> >>> I just tried. And it seems to be working. The replaceRule is >>> indeed needed, without it, the problem still happens. >>> >>> Fred >> -- | Radu Bogdan Rusu | http://rbrusu.com/ | http://www9.cs.tum.edu/people/rusu/ | Intelligent Autonomous Systems | Technische Universitaet Muenchen |