Merge branch 'test' of https://github.com/urbit/urbit into test

This commit is contained in:
Anton Dyudin 2015-07-15 11:57:53 -07:00
commit c985287a00
3 changed files with 39 additions and 11 deletions

View File

@ -39,7 +39,9 @@ urbit depends on:
sudo apt-get install libgmp3-dev libsigsegv-dev openssl libssl-dev libncurses5-dev git make exuberant-ctags automake autoconf libtool g++ ragel cmake re2c
*note: http requests are not supported on either debian wheezy or jessie due to an ssl issue*
*note: http requests are not supported on either debian wheezy or jessie
due to an ssl issue*
#### Fedora
sudo dnf install gcc gcc-c++ git gmp-devel openssl-devel openssl ncurses-devel libsigsegv-devel ctags automake autoconf libtool ragel cmake re2c
@ -56,14 +58,14 @@ urbit depends on:
sudo port install git gmp libsigsegv openssl autoconf automake cmake
#### FreeBSD
pkg install git gmake gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
Although `automake`/`autoconf`/`libtool` are generally installed by
default, some have reported needing to uninstall and reinstall those
three packages, at least with Homebrew. Your mileage may vary.
#### FreeBSD
pkg install git gmake gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
Build
-----
@ -112,9 +114,9 @@ will switch between processes.
To start a process that is not yet started, run `*proc` from the task
manager.
To connect your console to a process that has already been started, run `+proc`
from the task manager. Note that the process must be one that supports console
access, such as dojo and talk.
To connect your console to a process that has already been started, run
`+proc` from the task manager. Note that the process must be one that
supports console access, such as dojo and talk.
`^d` will exit the pier from the task manager. No matter how you shut
your urbit down you'll be returned to exactly the same state as when you
@ -151,6 +153,24 @@ clipped.
`;<target>` sets the target for your messages, such as `;~urbit-name`
for a private message.
Filesystem Sync
---------------
Our filesystem, `%clay` does not automatically sync to unix. If you want
to get files in and out of urbit, you'll need to setup a mount point.
Since each mount point is always watching for changes you may also want
to unmount from time to time.
The syntax is as follows (from `dojo`):
|mount <clay-path> <mount-name>
|unmount <mount-name>
or:
|unmount <clay-path>
Sysadmin
--------

View File

@ -1163,7 +1163,7 @@ _sist_rest()
// Increment sequence numbers. New logs start at 1.
if ( c3y == ohh ) {
uL(fprintf(uH, "rest: bumping ent_d, don't panic.\n"));
uL(fprintf(uH, "rest: bumping ent_d\n"));
u3_ular lar_u;
c3_d end_d;
c3_d tar_d;

View File

@ -399,9 +399,17 @@ _unix_free_dir(uv_handle_t* was_u)
_unix_rm_r(dir_u->pax_c);
if ( dir_u->kid_u ) {
fprintf(stderr, "don't kill me, i've got a family %s\r\n", dir_u->pax_c);
}
else {
// fprintf(stderr, "i'm a lone, lonely loner %s\r\n", dir_u->pax_c);
}
free(dir_u->pax_c);
free(dir_u); // XXX this might be too early, how do we
// know we've freed all the children?
// i suspect we should do this only if
// our kid list is empty
}
/* _unix_free_node(): free node, deleting everything within
@ -784,14 +792,13 @@ _unix_update_dir(u3_udir* dir_u)
u3_unod* nod_u = dir_u->kid_u;
if ( nod_u ) {
while ( nod_u->nex_u ) {
while ( nod_u ) {
if ( c3y == nod_u->dry ) {
nod_u = nod_u->nex_u;
}
else {
if ( c3y == nod_u->dir ) {
DIR* red_u = opendir(nod_u->pax_c);
if ( 0 == red_u ) {
u3_unod* nex_u = nod_u->nex_u;
can = u3kb_weld(_unix_free_node(nod_u), can);
@ -835,6 +842,7 @@ _unix_update_dir(u3_udir* dir_u)
if ( !rid_u ) {
uL(fprintf(uH, "error opening directory %s: %s\r\n",
dir_u->pax_c, strerror(errno)));
c3_assert(0);
}
while ( 1 ) {