一个struct at_device中有一个rt_event_t socket_event; 但是有N个struct at_socket *sockets; 每次connect或send或close时,会先清一下事件,然后等事件发生; 虽然at_obj_exec_cmd是加锁的,但清事件写在外面没有加锁, 所以有可能,其中一个线程再等事件,另一个刚调用,就会误清事件。
一个struct at_device中有一个rt_event_t socket_event;
但是有N个struct at_socket *sockets;
每次connect或send或close时,会先清一下事件,然后等事件发生;
虽然at_obj_exec_cmd是加锁的,但清事件写在外面没有加锁,
所以有可能,其中一个线程再等事件,另一个刚调用,就会误清事件。