struct SOCK_CONTEXT_LOCK* ctxlock;
- pthread_mutext_lock(&SOCK_CTL.slock);
+ pthread_mutex_lock(&SOCK_CTL.slock);
if(SOCK_CTL.in_use == 0){
printf("sockctl not in use\n");
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
return NULL;
}
ctxlock = SOCK_CTL.SOCK_CTX_LOCK[i];
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
pthread_mutex_lock(&ctxlock->lock);
struct SOCK_CONTEXT_LOCK* ctxlock = NULL;
- pthread_mutext_lock(&SOCK_CTL.slock);
+ pthread_mutex_lock(&SOCK_CTL.slock);
if(SOCK_CTL.in_use == 0){
printf("sockctl not in use\n");
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
return -1;
}
ctxlock = SOCK_CTL.SOCK_CTX_LOCK[i];
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
pthread_mutex_lock(&ctxlock->lock);
struct SOCK_CONTEXT_LOCK* ctxlock = NULL;
- pthread_mutext_lock(&SOCK_CTL.slock);
+ pthread_mutex_lock(&SOCK_CTL.slock);
if(SOCK_CTL.in_use == 0){
printf("sockctl not in use\n");
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
return -1;
}
ctxlock = SOCK_CTL.SOCK_CTX_LOCK[i];
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
pthread_mutex_lock(&ctxlock->lock);
atomic_store(&spinlock->locked, 0);
}
-void pthread_mutext_lock(struct spinlock* spinlock) {
+void spinlock_lock(struct spinlock* spinlock) {
while (!atomic_compare_exchange(&spinlock->locked, 0, 1)) {
}
}
-void pthread_mutext_unlock(struct spinlock* spinlock) {
+void spinlock_unlock(struct spinlock* spinlock) {
atomic_store(&spinlock->locked, 0);
}
SOCK_CTL.in_use = 1;
- spinlock_init(&SOCK_CTL.slock);
+ pthread_mutex_init(&SOCK_CTL.slock, NULL);
SOCK_CTL.size = MAX_CONN;
int free_all(){
- pthread_mutext_lock(&SOCK_CTL.slock);
+ pthread_mutex_lock(&SOCK_CTL.slock);
SOCK_CTL.in_use = 0;
free(SOCK_CTL.SOCK_CTX_LOCK);
- pthread_mutext_unlock(&SOCK_CTL.slock);
+ pthread_mutex_unlock(&SOCK_CTL.slock);
}
void sock_listen_and_serve(void* varg){