static gboolean ufo_cpu_node_equal_real (UfoNode *n1, UfoNode *n2) { UfoCpuNodePrivate *priv1; UfoCpuNodePrivate *priv2; #ifndef __APPLE__ const gsize MAX_CPUS = MIN (16, CPU_SETSIZE); #else const gsize MAX_CPUS = 16; #endif g_return_val_if_fail (UFO_IS_CPU_NODE (n1) && UFO_IS_CPU_NODE (n2), FALSE); priv1 = UFO_CPU_NODE_GET_PRIVATE (n1); priv2 = UFO_CPU_NODE_GET_PRIVATE (n2); #ifndef __APPLE__ for (gsize i = 0; i < MAX_CPUS; i++) { if (CPU_ISSET (i, priv1->mask) != CPU_ISSET (i, priv2->mask)) return FALSE; } #endif return TRUE; }
/** * ufo_cpu_node_get_affinity: * @node: A #UfoCpuNode * * Get affinity mask of @node. * * Returns: (transfer none): A pointer to the cpu_set_t mask associated with * @node. */ gpointer ufo_cpu_node_get_affinity (UfoCpuNode *node) { g_return_val_if_fail (UFO_IS_CPU_NODE (node), NULL); return node->priv->mask; }