version 1.2.2.9, 2012/05/05 13:39:27
|
version 1.2.2.10, 2012/05/05 14:51:01
|
Line 15 struct tagStore {
|
Line 15 struct tagStore {
|
}; |
}; |
|
|
struct tagSession { |
struct tagSession { |
/* client session thread id */ |
|
pthread_t sess_tid; |
|
pthread_mutex_t sess_mtx; |
|
/* server dispatcher */ |
/* server dispatcher */ |
mqtt_srv_t *sess_srv; |
mqtt_srv_t *sess_srv; |
|
|
Line 51 struct tagSession {
|
Line 48 struct tagSession {
|
TAILQ_ENTRY(tagSession) sess_node; |
TAILQ_ENTRY(tagSession) sess_node; |
}; |
}; |
typedef TAILQ_HEAD(, tagSession) sessions_t; |
typedef TAILQ_HEAD(, tagSession) sessions_t; |
#define SESS_ELEM_LOCK(x) pthread_mutex_lock(&(x)->sess_mtx) |
|
#define SESS_ELEM_UNLOCK(x) pthread_mutex_unlock(&(x)->sess_mtx) |
|
#define SESS_LOCK pthread_mutex_lock(&mtx_sess) |
|
#define SESS_UNLOCK pthread_mutex_unlock(&mtx_sess) |
|
|
|
struct tagPub { |
struct tagPub { |
ait_val_t pub_name; |
ait_val_t pub_name; |
Line 63 struct tagPub {
|
Line 56 struct tagPub {
|
TAILQ_ENTRY(tagPub) pub_node; |
TAILQ_ENTRY(tagPub) pub_node; |
}; |
}; |
typedef TAILQ_HEAD(, tagPub) pubs_t; |
typedef TAILQ_HEAD(, tagPub) pubs_t; |
#define PUBS_LOCK pthread_mutex_lock(&mtx_pub) |
|
#define PUBS_UNLOCK pthread_mutex_unlock(&mtx_pub) |
|
|
|
|
|
extern sessions_t Sessions; |
extern sessions_t Sessions; |
extern pubs_t Pubs; |
extern pubs_t Pubs; |
extern sched_root_task_t *root; |
extern sched_root_task_t *root; |
extern cfg_root_t cfg; |
extern cfg_root_t cfg; |
extern pthread_mutex_t mtx_sess, mtx_pub; |
|
|
|
|
|
/* function prototypes */ |
/* function prototypes */ |
void finiSession(struct tagSession *sess); |
|
void *startSession(sched_task_t *task); |
void *startSession(sched_task_t *task); |
|
|
|
|