mirror of https://github.com/xzeldon/htop.git
43 lines
753 B
C
43 lines
753 B
C
/*
|
|
htop - Affinity.c
|
|
(C) 2004-2011 Hisham H. Muhammad
|
|
Released under the GNU GPL, see the COPYING file
|
|
in the source distribution for its full text.
|
|
*/
|
|
|
|
#include "Affinity.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
/*{
|
|
|
|
typedef struct Affinity_ {
|
|
int size;
|
|
int used;
|
|
int* cpus;
|
|
} Affinity;
|
|
|
|
}*/
|
|
|
|
Affinity* Affinity_new() {
|
|
Affinity* this = calloc(1, sizeof(Affinity));
|
|
this->size = 8;
|
|
this->cpus = calloc(this->size, sizeof(int));
|
|
return this;
|
|
}
|
|
|
|
void Affinity_delete(Affinity* this) {
|
|
free(this->cpus);
|
|
free(this);
|
|
}
|
|
|
|
void Affinity_add(Affinity* this, int id) {
|
|
if (this->used == this->size) {
|
|
this->size *= 2;
|
|
this->cpus = realloc(this->cpus, sizeof(int) * this->size);
|
|
}
|
|
this->cpus[this->used] = id;
|
|
this->used++;
|
|
}
|
|
|