Обновить
151
0
Max Filippov @jcmvbkbc

low level freak

Отправить сообщение
9976kb — чистый вклад этого процесса в использованную память.
/proc/PID/smaps, парсер лох
Столбик RES говорит сколько виртуальной памяти процесса в настоящий момент находится в физической памяти.

Показатель уверенности — как ни странно, VIRT в top'е, или private_dirty+swap в /proc//smaps
Я это и имел в виду: gfilt вызывает g++, который симлинк на ccache.
В итоге CXX=gfilt и всё работает.
а собственно, почему нет, если ccache/distcc использовать через символьные ссылки?
В распараллеленном коде операции с динамической памятью становятся особенно узким местом, если не применять специальных техник, типа отдельных пулов памяти на каждый поток.
Предлагаю внести stringstream stream внутрь тела цикла в функции _WorkerThread.
Потому что оператор << добавляет данные в поток.
Так что в конце там оказывается очень динная строчка.

Кроме того, delete [] хорош к месту, в функции _WorkerThread должен быть простой delete.
Полагаю так, если у вас там GRUB:
# grub-install /dev/sda

Если бы это было написано на С с BSD-сокетами, я бы сказал что это пример того, как делать не надо.
Может быть на PHP так принято?

// Если установить флаг до socket_connect соединения не происходит

Скорее происходит, но не сразу. А сразу возвращается ошибка, потому что операция потенциально блокирующая.

socket_set_nonblock($socket);
socket_write($socket, $method." ".$parts['path']." HTTP/1.1\r\n");
socket_write($socket, «Host: ».$parts['host']."\r\n");
socket_write($socket, «Connection: close\r\n»);
if ($data) {
socket_write($socket, «Content-Type: application/x-www-form-urlencoded\r\n»);
socket_write($socket, «Content-length: ».strlen($data)."\r\n");
socket_write($socket, "\r\n");
socket_write($socket, $data."\r\n");
}
socket_write($socket, "\r\n");

Ни одной проверки на то, что socket_write записал все, что его просили записать. Он и в блокирующем-то режиме судя по документации может записать не всё, а в неблокирующем тем более.

$data = socket_read($socket, 0xffff);
if ($data) {
$threads[] = $key;
$this->setThread($key, $data);
unset($this->sockets[$key]);
continue;

Опять же, никакой проверки длины. Наверно это будет работать для мелких ответов. Но по чистой случайности.

// На всякий случай
usleep(5);

Воспользуйтесь socket_select, чтобы отсеять большую часть «всяких» случаев.
Если вы еще раз приложите к нему свою руку, то вспомните мимоходом, что обычно говорят «день Д» либо «час Ч».
Пружинки — это сцепление
Конечно ошибся в этом дурацком написании.
Klocwork.
«не обмани» — это что-то невенькое. есть «не лжесвидетельствуй».
«возлюби ближнего своего как самого себя» — вот такой заповеди нет, но это говорится во многих местах.
«не сотвори себе кумира» — а вот такая заповедь как раз есть.

Ссылочки.
В каждом частотном диапазоне больше чем 1 канал.
Правда MIMO подразумевает работу на нескольких каналах одновременно.
Типа есть. Солнечный (: Если хотите совсем запутаться — посмотрите на его характеристики.
Проблема-то никуда не денется, завершение процесса всё равно придётся отслеживать и убивать «заработавшихся».

По теме — однажды занимался похожим при разработке скриптов автоматизированного тестирования. С тех пор жалею, что ulimit не способен ограничить реальное время работы приложения, только процессорное.
Метров 200-300. Обычно, чем выше тем устойчивее. Но вот змея с такой блямбой я ещё ни разу не запускал.
Вот здесь говорят что есть.

А я начал с gstreamer потому что всё равно было с чего начать, а он почти полностью присутствует в стандартной прошивке. Специально я ставил только gstreamer0.10-tools, чтобы получить gst-launch.

Резюме: велосипед не изобретен, просто собран из имеющихся деталей (:
Даже и не знаю. Полагаю что нет, ибо java. И qik.com отнюдь не проясняет.

Информация

В рейтинге
Не участвует
Откуда
Fremont, California, США
Зарегистрирован
Активность