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