When we try to transplant ubus to uclinux, ubusd can't run but "ubus list" will hang up.
1. netstat -anp
unix 2 [ ] STREAM CONNECTING 0 - /var/run/ubus.sock
2. client is blocked at read() system call
3. no any logs
solution:
perror() after connect() shows that there is some un-implemented function call.
Actually, connect() doesn't produce this error, it is produced by other call earlier.(not reset error before invoke connect() function).
Continue to backtrace this error, found that libubox.so call some methods of event poll (epoll), but our kernel doesn't enable this option.
Appendix:
Before resolve this question, if we chmod +s /sbin/ubusd and then test it again, we found that there would a more record:
unix 3 [ ] STREAM CONNECTED 2651 1938/ubus
But client can't get any results still.
still understand how and why so. just for mark.