Hi,

root access is for the machine I am testing on currently. I wont be having
root access to various other machines to which our webapp will be deploying.

the post-buffering code may definitely needs a rewrite without the use of
tempfile, as currently there is no way to configure it via uwsgi
configuration.

On Tue, Oct 23, 2012 at 11:31 PM, Joerg Sonnenberger <
[email protected]> wrote:

> On Wed, Oct 24, 2012 at 08:16:00AM +0200, Roberto De Ioris wrote:
> >
> > > On Wed, Oct 24, 2012 at 05:47:12AM +0200, Roberto De Ioris wrote:
> > >> Sadly there is no way to override the paths in "tmpfile()", but as you
> > >> have root access you can bind mount /tmp in another "place":
> > >
> > > You might want to avoid tmpfile for this and other reasons.
> > > The BSD implementation is quite heavy since it has to block signals to
> > > provide the atomicity criterions of tmp_file for example.
> > >
> > > I think what would be the most reasonable approach is creating one
> > > temporary directory in the master using mkdtemp and using the PID of
> the
> > > worker + per-worker counter as file name. That means two system calls
> > > are needed (open + unlink) and the location can be easily configured.
> > >
> > > Joerg
> >
> >
> > Maybe we do not even need mkdtemp, as we can uniquely identify a request
> by
> > pid+core:
> >
> > /* BASE could be TMPDIR or a configurable path xxxxx is the pid yyyyy is
> > the core
> > */
> > filename = 'BASE/uWSGI_postbuf_xxxxx_yyyyy';
> > fd = open(filename, O_RDWR|O_CREAT....);
> > unlink(filename);
>
> mkdtemp has the advantage that you don't have to worry about race
> conditions and symlink attacks and so on.
>
> Joerg
> _______________________________________________
> uWSGI mailing list
> [email protected]
> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to