Review Request 112294: Implement multi-seat support in KDM
Stefan Brüns
stefan.bruens at rwth-aachen.de
Thu May 29 20:00:59 BST 2014
> On May 26, 2014, 2:50 p.m., Stefan Brüns wrote:
> > kdm/backend/dm.c, line 1430
> > <https://git.reviewboard.kde.org/r/112294/diff/7/?file=274916#file274916line1430>
> >
> > Hm, I prefer this notation, in particular as this is the same as for std::string (guaranteed since C++03, working for all versions of C++):
> >
> > std::string foo(100, '\0');
> > char* buf = &foo[10];
> >
> > vs
> >
> > char foo[100] = { '\0' };
> > char *buf &foo[10];
> >
> > This is correct, as arrays (both C and C++) are guaranteed to be contiguous, and thus (&foo[10]) == (foo + 10).
>
> Oswald Buddenhagen wrote:
> i know how c works. ;)
> it still looks wrong from the mathematical pov, because you actually want a slice, kinda &foo[10..inf]. this is better expressed by writing something that looks more like just the starting offset, i.e., foo + 10. it also happens to have less meta char noise.
> and yes, this is a matter of preference. my code, my rules. :P
>
Yeah, plain C sucks. Changed to pointer plus offset.
> On May 26, 2014, 2:50 p.m., Stefan Brüns wrote:
> > kdm/backend/dm.c, line 1510
> > <https://git.reviewboard.kde.org/r/112294/diff/7/?file=274916#file274916line1510>
> >
> > Nope. After systemdHandleChange() we will repeat the while(...) loop, calling:
> > startDisplays();
> > which calls:
> > forEachDisplay(checkDisplayStatus);
> > which does:
> > if ((d->displayType & d_origin) == dFromFile && !d->stillThere)
> > stopDisplay(d);
>
> Oswald Buddenhagen wrote:
> good point. but this means that we actually may not re-use this variable, because it will interfere, no matter what (your code would inadvertently re-animate a just-died display, i think).
> i suggest you keep the mechanism, but use a new variable "activated" for it.
this is d->seatRemoved now.
- Stefan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/112294/#review58481
-----------------------------------------------------------
On May 26, 2014, 12:06 a.m., Stefan Brüns wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/112294/
> -----------------------------------------------------------
>
> (Updated May 26, 2014, 12:06 a.m.)
>
>
> Review request for kde-workspace and Oswald Buddenhagen.
>
>
> Repository: kde-workspace
>
>
> Description
> -------
>
> This patch implements dynamic multiseat in KDM. It follows the description in:
> http://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/
>
> In case systemd is no found at compile time, nothing changes. If logind is not running, nothing changes. If no additional seats have been configured (some Plugable USB-GPUs are automatically added as additional seats), nothing changes.
>
> In case there are additional seats beyond seat0, a reserved display is promoted to a local static one (and demoted if the seat is removed) and a new X-Server/greeter is spawned.
>
> The code has been tested extensively, with a combination of [Radeon dedicated GPU|Intel iGPU], [Intel iGPU|Displaylink USB GPU] and others. For history of this patch, see https://bugzilla.redhat.com/show_bug.cgi?id=884271 and https://bugzilla.redhat.com/show_bug.cgi?id=975079
>
>
> Diffs
> -----
>
> cmake/modules/CMakeLists.txt 117b3a5
> kdm/ConfigureChecks.cmake b61fd90
> kdm/backend/CMakeLists.txt 25f383f
> kdm/backend/client.c a2d06c2
> kdm/backend/dm.h b2f8c61
> kdm/backend/dm.c 77a2ef7
> kdm/backend/dpylist.c b650c2f
> kdm/backend/resource.c 38a8c70
> kdm/backend/server.c d8dd6f3
> kdm/backend/session.c 0e7901c
> kdm/config-kdm.h.cmake 3e8912d
> kdm/kfrontend/kdm_config.c 368c8d1
>
> Diff: https://git.reviewboard.kde.org/r/112294/diff/
>
>
> Testing
> -------
>
> Single seat system, several multiseat systems
>
>
> Thanks,
>
> Stefan Brüns
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140529/7cc1dd11/attachment.htm>
More information about the kde-core-devel
mailing list